package com.yc.cloud.admin.service;

/**
 * 抓图存储服务接口
 * 
 * @author kinggu
 * @since 2025-10-10
 */
public interface SnapshotStorageService {
    
    /**
     * 保存抓图图片（base64格式）
     *
     * @param cameraId 摄像头ID
     * @param imageBase64 base64编码的图片数据
     * @param imageFormat 图片格式(jpg/png)
     * @return 文件存储路径
     */
    String saveSnapshotImage(Long cameraId, String imageBase64, String imageFormat);
    
    /**
     * 生成缩略图
     *
     * @param originalPath 原图路径
     * @param width 缩略图宽度
     * @param height 缩略图高度
     * @return 缩略图路径
     */
    String generateThumbnail(String originalPath, int width, int height);
    
    /**
     * 获取图片访问URL
     *
     * @param filePath 文件路径
     * @return 访问URL
     */
    String getSnapshotUrl(String filePath);
    
    /**
     * 删除摄像头所有抓图
     *
     * @param cameraId 摄像头ID
     * @return 删除的图片数量
     */
    int deleteAllSnapshots(Long cameraId);
    
    /**
     * 删除单个抓图文件
     *
     * @param filePath 文件路径
     * @return 是否删除成功
     */
    boolean deleteSnapshotFile(String filePath);
}

